/*
 * @Author: your name
 * @Date: 2021-12-10 08:06:45
 * @LastEditTime: 2021-12-10 08:15:22
 * @LastEditors: Please set LastEditors
 * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 * @FilePath: \day3\demo\index.js
 */
// 1.	利用koa搭建服务 向客户端返回一个如上图所示的效果图
// 2.	监听的端口为8888
// 3.	封装一个生成空格的函数 indent
// 4.	正确引用koa第三方包
// 5.	正确定义koa的中间件
// 6.	正确使用koa的中间件

// 7.	正确定义监听端口，要求控制台提示监听的端口号
// 8.	引入nodemon实现自动重启
// 9.	配置npm命令为dev或者start
// 10.	正确在客户端打印结果
// 11.	注明必要的注释
// 12.	代码规范,体现封装思想
// 13.	无bug
const koa =require('koa')

const app=new koa()

app.use(async(ctx,next)=>{
    console.log('请求:第一层中间件')
    await next()
    console.log('响应:第一层中间件')
})
app.use(async(ctx,next)=>{
    console.log('  请求:第二层中间件')
    await next()
    console.log('  响应:第二层中间件')
})
app.use(async(ctx,next)=>{
    console.log('    请求:第三层中间件')
    await next()
    console.log('    响应:第三层中间件')
})
app.use(async(ctx,next)=>{
    console.log('      koa核心业务')
})

app.listen(8080,()=>{
    console.log('server start 8080!!')
})